Systems and methods for modeling applications are known. For example, manually selecting and storing images and other information to produce a model is known. Other methods for modeling an application include inspecting the code structure of an application and producing a model of the source code, e.g., in the form of a flow chart or class diagrams.
However, current systems and methods suffer from a number of drawbacks. For example, manually generating a model may be time and effort consuming. Other modeling methods are tightly coupled to the implementation of the application being modeled and/or require cooperation with a developer of the application. Accordingly, current systems and methods are unsuitable and are impractical when modeling applications that have large number of states and screens or when screens are added or removed when an application evolves.